package com.ruoyi.ldzlsb.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 设备类型对象 sb_equipment_type
 * 
 * @author ruoyi
 */
public class SbEquipmentType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 类型ID */
    @Excel(name = "类型ID")
    private Long typeId;
    
    /** 类型编码 */
    @Excel(name = "类型编码")
    private String typeCode;
    
    /** 类型名称 */
    @Excel(name = "类型名称")
    private String typeName;
    
    /** 父类型ID */
    @Excel(name = "父类型ID")
    private Long parentTypeId;
    
    /** 类型级别 */
    @Excel(name = "类型级别")
    private Integer typeLevel;
    
    /** 排序序号 */
    @Excel(name = "排序序号")
    private Integer sortOrder;
    
    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String typeStatus;
    
    /** 是否删除(0未删除 1已删除) */
    private String isDelete;
    
    /** 类型图标 */
    private String typeIcon;
    
    /** 类型描述 */
    private String typeDescription;
    
    /** 子类型列表 */
    private List<SbEquipmentType> children;

    public Long getTypeId() 
    {
        return typeId;
    }

    public void setTypeId(Long typeId) 
    {
        this.typeId = typeId;
    }
    
    // 兼容XML映射中的typeID属性
    public Long getTypeID() 
    {
        return typeId;
    }

    public void setTypeID(Long typeId) 
    {
        this.typeId = typeId;
    }

    public String getTypeCode() 
    {
        return typeCode;
    }

    public void setTypeCode(String typeCode) 
    {
        this.typeCode = typeCode;
    }

    public String getTypeName() 
    {
        return typeName;
    }

    public void setTypeName(String typeName) 
    {
        this.typeName = typeName;
    }

    public Long getParentTypeId() 
    {
        return parentTypeId;
    }

    public void setParentTypeId(Long parentTypeId) 
    {
        this.parentTypeId = parentTypeId;
    }
    
    // 兼容XML映射中的typeSuperior属性
    public Long getTypeSuperior() 
    {
        return parentTypeId;
    }

    public void setTypeSuperior(Long parentTypeId) 
    {
        this.parentTypeId = parentTypeId;
    }

    public Integer getTypeLevel() 
    {
        return typeLevel;
    }

    public void setTypeLevel(Integer typeLevel) 
    {
        this.typeLevel = typeLevel;
    }

    public Integer getSortOrder() 
    {
        return sortOrder;
    }

    public void setSortOrder(Integer sortOrder) 
    {
        this.sortOrder = sortOrder;
    }

    public String getTypeStatus() 
    {
        return typeStatus;
    }

    public void setTypeStatus(String typeStatus) 
    {
        this.typeStatus = typeStatus;
    }
    
    public String getIsDelete()
    {
        return isDelete;
    }

    public void setIsDelete(String isDelete)
    {
        this.isDelete = isDelete;
    }
    
    // 兼容XML映射中的etDelete属性
    public String getEtDelete()
    {
        return isDelete;
    }

    public void setEtDelete(String isDelete)
    {
        this.isDelete = isDelete;
    }
    
    public String getTypeIcon()
    {
        return typeIcon;
    }

    public void setTypeIcon(String typeIcon)
    {
        this.typeIcon = typeIcon;
    }
    
    public String getTypeDescription()
    {
        return typeDescription;
    }

    public void setTypeDescription(String typeDescription)
    {
        this.typeDescription = typeDescription;
    }
    
    public List<SbEquipmentType> getChildren()
    {
        return children;
    }

    public void setChildren(List<SbEquipmentType> children)
    {
        this.children = children;
    }
    
    // 兼容XML映射中的etFounder属性
    public String getEtFounder()
    {
        return getCreateBy();
    }

    public void setEtFounder(String createBy)
    {
        super.setCreateBy(createBy);
    }
    
    // 兼容XML映射中的etCreatedate属性
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public java.util.Date getEtCreatedate()
    {
        return getCreateTime();
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public void setEtCreatedate(java.util.Date createTime)
    {
        super.setCreateTime(createTime);
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("typeId", getTypeId())
            .append("typeCode", getTypeCode())
            .append("typeName", getTypeName())
            .append("parentTypeId", getParentTypeId())
            .append("typeLevel", getTypeLevel())
            .append("sortOrder", getSortOrder())
            .append("typeStatus", getTypeStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .append("remark", getRemark())
            .append("typeIcon", getTypeIcon())
            .append("typeDescription", getTypeDescription())
            .toString();
    }
} 